// 项目部署配置
module.exports = {
  // 环境配置
  environments: {
    // 开发环境
    development: {
      appid: 'wx1234567890abcdef', // 替换为实际的开发环境appid
      baseUrl: 'https://dev-api.yahuyou.com',
      uploadPath: 'https://dev-upload.yahuyou.com',
      socketUrl: 'wss://dev-socket.yahuyou.com',
      debug: true
    },
    // 测试环境
    test: {
      appid: 'wxabcdef1234567890', // 替换为实际的测试环境appid
      baseUrl: 'https://test-api.yahuyou.com',
      uploadPath: 'https://test-upload.yahuyou.com',
      socketUrl: 'wss://test-socket.yahuyou.com',
      debug: true
    },
    // 生产环境
    production: {
      appid: 'wx0987654321fedcba', // 替换为实际的生产环境appid
      baseUrl: 'https://api.yahuyou.com',
      uploadPath: 'https://upload.yahuyou.com',
      socketUrl: 'wss://socket.yahuyou.com',
      debug: false
    }
  },
  
  // 构建配置
  build: {
    // 是否开启压缩
    compress: true,
    // 是否混淆代码
    uglify: true,
    // 是否压缩图片
    compressImages: true,
    // 是否生成sourcemap
    sourcemap: false,
    // 构建输出目录
    outputDir: 'dist',
    // 需要复制的静态资源目录
    assetsDir: 'assets'
  },
  
  // 上传配置
  upload: {
    // 小程序版本号
    version: '1.0.0',
    // 版本描述
    desc: '牙护优医生端小程序',
    // 是否自动提交审核
    autoSubmit: false,
    // 是否上传代码时预览
    preview: true
  },
  
  // 代码规范配置
  eslint: {
    // 是否开启eslint检查
    enabled: true,
    // 忽略的文件和目录
    ignorePatterns: [
      'node_modules/**',
      'dist/**',
      'miniprogram_npm/**',
      'utils/request.js',
      'utils/doctor.js',
      'utils/performance.js',
      'utils/userExperience.js'
    ]
  },
  
  // 静态资源配置
  assets: {
    // 图片压缩质量
    imageQuality: 0.8,
    // 允许的图片格式
    allowedImageFormats: ['jpg', 'jpeg', 'png', 'gif', 'svg', 'webp'],
    // 最大图片大小(KB)
    maxImageSize: 2048,
    // 图标自动生成配置
    icon: {
      source: 'assets/icons/svg',
      output: 'assets/icons/components',
      sizes: [24, 32, 48]
    }
  },
  
  // 性能监控配置
  performance: {
    // 是否开启性能监控
    enabled: true,
    // 性能监控上报地址
    reportUrl: 'https://monitor.yahuyou.com/api/performance',
    // 页面加载超时阈值(ms)
    pageLoadTimeout: 5000,
    // API请求超时阈值(ms)
    apiRequestTimeout: 3000,
    // 内存占用阈值(MB)
    memoryThreshold: 100
  },
  
  // 安全配置
  security: {
    // 是否加密敏感数据
    encryptSensitiveData: true,
    // 是否防止XSS攻击
    preventXSS: true,
    // 是否防止CSRF攻击
    preventCSRF: true,
    // 接口请求加密密钥（生产环境请从环境变量获取）
    encryptionKey: process.env.ENCRYPTION_KEY || 'default_encryption_key_for_development'
  },
  
  // 多语言配置
  i18n: {
    // 支持的语言
    languages: ['zh-CN', 'en-US'],
    // 默认语言
    defaultLanguage: 'zh-CN',
    // 语言文件目录
    localeDir: 'i18n/locales'
  },
  
  // CI/CD配置
  cicd: {
    // 是否自动运行单元测试
    runTests: true,
    // 是否自动构建
    autoBuild: true,
    // 构建成功后的回调命令
    successCommand: 'echo "Build successful!"',
    // 构建失败后的回调命令
    failureCommand: 'echo "Build failed!"'
  }
};
